<?php
/**
 * Description of ValidateEntityYear
 *
 * @author Damiano Ciarla
 */
class ValidateEntityYear implements Validate
{
    public function validate($field, $value, $condition = null)
	{
		if(is_string($value) || is_null($value))
		{
			if(!is_null($value) && strlen($value) > 0)
			{
				$res = date_parse_from_format("Y", $value);

				if($res['warning_count'] > 0 || $res['error_count'] > 0)
				{
					return T::_("Il campo") . " <b><u>" . ucfirst($field) . "</u></b> " . T::_("deve essere una stringa nel formato data 'y' oppure 'Y'");
				}
				elseif($res['warning_count'] == 0 || $res['error_count'] == 0)
				{
					if(intval($value) < 1901)
					{
						$res = date_parse_from_format("y", $value);

						if($res['warning_count'] > 0 || $res['error_count'] > 0)
							return T::_("Il campo") . " <b><u>" . ucfirst($field) . "</u></b> " . T::_("deve avere un valore compreso tra '0 e 99' nel formato corto o tra '1901 e 2155' nel formato esteso");
					}
					elseif(intval($value) > 2155)
						return T::_("Il campo") . " <b><u>" . ucfirst($field) . "</u></b> " . T::_("deve avere un valore compreso tra '1901 e 2155' nel formato esteso");
				}
			}
		}
		else
			return T::_("Il campo") . " <b><u>" . ucfirst($field) . "</u></b> " . T::_("deve essere una stringa nel formato data 'y' oppure 'Y'");

		return true;
	}
}
?>
